package com.faya.green.service;

import com.faya.green.model.Relationship;
import com.faya.green.model.SubsidiaryUser;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * @author ：LX
 * 创建时间： 2018/8/25. 0:41
 * 地点：广州
 * 目的: 隶属主用户的子用户数据（主用户的私人关系，子用户没有任何权限，也不能登录）
 * 备注说明：
 */
public interface SubsidiaryUserService {

    /**
     * 更新  隶属主用户的子用户数据（主用户的私人关系，没有任何权限）
     * @param subsidiaryUser 隶属主用户的子用户数据（主用户的私人关系，没有任何权限）
     */
    void updateSubsidiaryUser(SubsidiaryUser subsidiaryUser);

    /**
     * 根据主键查询  隶属主用户的子用户数据（主用户的私人关系，没有任何权限）
     * @param id 隶属主用户的子用户数据（主用户的私人关系，没有任何权限）主键
     * @return
     */
    SubsidiaryUser getSubsidiaryUserById(String id);

    /**
     * 添加用户附属子用户数据
     * @param subsidiaryUser 隶属主用户的子用户数据
     * @param relationship 关系表
     * @param file 用户头像
     */
    void addOrUpdSubsidiaryUser(MultipartFile file, SubsidiaryUser subsidiaryUser, Relationship relationship, HttpServletRequest request);


    /**
     * 递归获取指定用户附加用户数据
     * @param userId 要查询的用户的ID，user.id
     * @return
     */
    SubsidiaryUser getUserRelattionship(String userId);

    /**
     * 删除子用户(包含他的全部下级)
     * @param id 子用户ID
     */
    void delSubsidiaryUser(String id);

}
